package com.one.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @ClassName: ProductVo
 * @Auther: yph
 * @Date: 2022/1/14 11:49
 * @Description: 返回前端的商品信息详情表
 */
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@Data
@ApiModel(value = "ProductVo",description = "商品信息详情")
public class ProductVo implements Serializable {

    /**
     * 唯一id
     */
    @ApiModelProperty(value = "唯一id")
    private Integer id;

    /**
     * 商品名称
     */
    @ApiModelProperty(value = "商品名称")
    private String productName;

    /**
     * 商品主图
     */
    @ApiModelProperty(value = "商品主图")
    private String mainImage;

    /**
     * 商品副图
     */
    @ApiModelProperty(value = "商品副图")
    private List<String> subImages;

    /**
     * 一级分类名称
     */
    @ApiModelProperty(value = "一级分类名称")
    private String categoryFirstName;

    /**
     * 二级分类名称
     */
    @ApiModelProperty(value = "二级分类名称")
    private String categorySecondName;

    /**
     * 商品描述
     */
    @ApiModelProperty(value = "商品描述")
    private String detail;

    /**
     * 商品参数
     */
    @ApiModelProperty(value = "商品参数")
    private List<String> parameters;

    /**
     * 商品价格
     */
    @ApiModelProperty(value = "商品价格")
    private BigDecimal price;

    /**
     * 商品颜色
     */
    @ApiModelProperty(value = "商品颜色")
    private List<String> tagColors;

    /**
     * 商品尺寸
     */
    @ApiModelProperty(value = "商品尺寸")
    private List<String> tagSizes;

    /**
     * 0-单品 ， 1-全品
     */
    @ApiModelProperty(value = "单品 ，全品")
    private String type;

    /**
     * 库存
     */
    @ApiModelProperty(value = "库存")
    private Long count;

    /**
     * 0-在售，1-下架
     */
    @ApiModelProperty(value = "在售，下架")
    private String status;

    /**
     * 评价数量
     */
    @ApiModelProperty(value = "评价数量")
    private Long commentNum;

    /**
     * 累计销量
     */
    @ApiModelProperty(value = "累计销量")
    private Long sellNum;

    /**
     * 收藏量
     */

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createDate;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private Date updateDate;

    private static final long serialVersionUID = 1L;
}
